package models

import (
	"time"

	"gorm.io/gorm"
)

// 永远也不要管表的id，而是表的其他唯一标识字段

// AdmissionNotice 存储患者入院通知单信息
// 入院通知单的唯一标识字段是入院通知单编码
type AdmissionNotice struct {
	gorm.Model
	AdmissionNoticeID string `gorm:"primary_key;auto_increment;not null" json:"admission_notice_id"` // 入院通知单ID
	// 入院通知单编码唯一改成unique
	AdmissionNoticeCode string `gorm:"not null;unique" json:"admission_notice_code"` // 入院通知单编码
	// 患者ID,外键联系Patient表的ID
	PatientID int `gorm:"not null" json:"patient_id"`
	// 医生ID,外键联系Doctor表的ID
	DoctorID int `gorm:"not null" json:"doctor_id"`
	// 入院日期
	AdmissionDate time.Time `gorm:"type:datetime;not null" json:"admission_date"`
	// 入院科室
	AdmissionDepartment string `gorm:"type:varchar(100);not null" json:"admission_department"`
	// 入院诊断
	AdmissionDiagnosis string `gorm:"type:varchar(100);not null" json:"admission_diagnosis"`
	// 入院诊断编码
	AdmissionDiagnosisCode string `gorm:"type:varchar(100);not null" json:"admission_diagnosis_code"`
	// 入院通知书内容
	AdmissionNoticeContent string `gorm:"type:text;not null" json:"admission_notice_content"`
}
